package com.base.logistics.jdl.bean.print;

import java.io.Serializable;
import java.util.List;

/**
 * <pre>
 * 商家自定义区内容
 * </pre>
 * @since 2021-02-26
 */
public class CustomAreaDo  implements Serializable {

    /**
     * 自定义区id
     */
    private Integer customAreaId;

    /**
     * 自定义区url
     */
    private String customAreaUrl;

    /**
     * keysList
     */
    private List<String> keys;

    /**
     * 自定义区名称
     */
    private String customAreaName;

    /**
     * cp编码(物流公司编码)
     */
    private String cpCode;

    /**
     * 用户使用模板的url
     */
    private String standardTemplateUrl;

    /**
     * 用户使用模板的id
     */
    private String standardTemplateId;

    /**
     * 用户使用模板名称
     */
    private String standardTemplateName;

    private List<CustomAreaKeyResult> customAreaKeys;

    public CustomAreaDo() {
    }

    public Integer getCustomAreaId() {
        return this.customAreaId;
    }

    public String getCustomAreaUrl() {
        return this.customAreaUrl;
    }

    public List<String> getKeys() {
        return this.keys;
    }

    public String getCustomAreaName() {
        return this.customAreaName;
    }

    public String getCpCode() {
        return this.cpCode;
    }

    public String getStandardTemplateUrl() {
        return this.standardTemplateUrl;
    }

    public String getStandardTemplateId() {
        return this.standardTemplateId;
    }

    public String getStandardTemplateName() {
        return this.standardTemplateName;
    }

    public List<CustomAreaKeyResult> getCustomAreaKeys() {
        return this.customAreaKeys;
    }

    public void setCustomAreaId(Integer customAreaId) {
        this.customAreaId = customAreaId;
    }

    public void setCustomAreaUrl(String customAreaUrl) {
        this.customAreaUrl = customAreaUrl;
    }

    public void setKeys(List<String> keys) {
        this.keys = keys;
    }

    public void setCustomAreaName(String customAreaName) {
        this.customAreaName = customAreaName;
    }

    public void setCpCode(String cpCode) {
        this.cpCode = cpCode;
    }

    public void setStandardTemplateUrl(String standardTemplateUrl) {
        this.standardTemplateUrl = standardTemplateUrl;
    }

    public void setStandardTemplateId(String standardTemplateId) {
        this.standardTemplateId = standardTemplateId;
    }

    public void setStandardTemplateName(String standardTemplateName) {
        this.standardTemplateName = standardTemplateName;
    }

    public void setCustomAreaKeys(List<CustomAreaKeyResult> customAreaKeys) {
        this.customAreaKeys = customAreaKeys;
    }

    public boolean equals(final Object o) {
        if (o == this) return true;
        if (!(o instanceof CustomAreaDo)) return false;
        final CustomAreaDo other = (CustomAreaDo) o;
        if (!other.canEqual((Object) this)) return false;
        final Object this$customAreaId = this.getCustomAreaId();
        final Object other$customAreaId = other.getCustomAreaId();
        if (this$customAreaId == null ? other$customAreaId != null : !this$customAreaId.equals(other$customAreaId))
            return false;
        final Object this$customAreaUrl = this.getCustomAreaUrl();
        final Object other$customAreaUrl = other.getCustomAreaUrl();
        if (this$customAreaUrl == null ? other$customAreaUrl != null : !this$customAreaUrl.equals(other$customAreaUrl))
            return false;
        final Object this$keys = this.getKeys();
        final Object other$keys = other.getKeys();
        if (this$keys == null ? other$keys != null : !this$keys.equals(other$keys)) return false;
        final Object this$customAreaName = this.getCustomAreaName();
        final Object other$customAreaName = other.getCustomAreaName();
        if (this$customAreaName == null ? other$customAreaName != null : !this$customAreaName.equals(other$customAreaName))
            return false;
        final Object this$cpCode = this.getCpCode();
        final Object other$cpCode = other.getCpCode();
        if (this$cpCode == null ? other$cpCode != null : !this$cpCode.equals(other$cpCode)) return false;
        final Object this$standardTemplateUrl = this.getStandardTemplateUrl();
        final Object other$standardTemplateUrl = other.getStandardTemplateUrl();
        if (this$standardTemplateUrl == null ? other$standardTemplateUrl != null : !this$standardTemplateUrl.equals(other$standardTemplateUrl))
            return false;
        final Object this$standardTemplateId = this.getStandardTemplateId();
        final Object other$standardTemplateId = other.getStandardTemplateId();
        if (this$standardTemplateId == null ? other$standardTemplateId != null : !this$standardTemplateId.equals(other$standardTemplateId))
            return false;
        final Object this$standardTemplateName = this.getStandardTemplateName();
        final Object other$standardTemplateName = other.getStandardTemplateName();
        if (this$standardTemplateName == null ? other$standardTemplateName != null : !this$standardTemplateName.equals(other$standardTemplateName))
            return false;
        final Object this$customAreaKeys = this.getCustomAreaKeys();
        final Object other$customAreaKeys = other.getCustomAreaKeys();
        if (this$customAreaKeys == null ? other$customAreaKeys != null : !this$customAreaKeys.equals(other$customAreaKeys))
            return false;
        return true;
    }

    protected boolean canEqual(final Object other) {
        return other instanceof CustomAreaDo;
    }

    public int hashCode() {
        final int PRIME = 59;
        int result = 1;
        final Object $customAreaId = this.getCustomAreaId();
        result = result * PRIME + ($customAreaId == null ? 43 : $customAreaId.hashCode());
        final Object $customAreaUrl = this.getCustomAreaUrl();
        result = result * PRIME + ($customAreaUrl == null ? 43 : $customAreaUrl.hashCode());
        final Object $keys = this.getKeys();
        result = result * PRIME + ($keys == null ? 43 : $keys.hashCode());
        final Object $customAreaName = this.getCustomAreaName();
        result = result * PRIME + ($customAreaName == null ? 43 : $customAreaName.hashCode());
        final Object $cpCode = this.getCpCode();
        result = result * PRIME + ($cpCode == null ? 43 : $cpCode.hashCode());
        final Object $standardTemplateUrl = this.getStandardTemplateUrl();
        result = result * PRIME + ($standardTemplateUrl == null ? 43 : $standardTemplateUrl.hashCode());
        final Object $standardTemplateId = this.getStandardTemplateId();
        result = result * PRIME + ($standardTemplateId == null ? 43 : $standardTemplateId.hashCode());
        final Object $standardTemplateName = this.getStandardTemplateName();
        result = result * PRIME + ($standardTemplateName == null ? 43 : $standardTemplateName.hashCode());
        final Object $customAreaKeys = this.getCustomAreaKeys();
        result = result * PRIME + ($customAreaKeys == null ? 43 : $customAreaKeys.hashCode());
        return result;
    }

    public String toString() {
        return "CustomAreaDo(customAreaId=" + this.getCustomAreaId() + ", customAreaUrl=" + this.getCustomAreaUrl() + ", keys=" + this.getKeys() + ", customAreaName=" + this.getCustomAreaName() + ", cpCode=" + this.getCpCode() + ", standardTemplateUrl=" + this.getStandardTemplateUrl() + ", standardTemplateId=" + this.getStandardTemplateId() + ", standardTemplateName=" + this.getStandardTemplateName() + ", customAreaKeys=" + this.getCustomAreaKeys() + ")";
    }
}
